1
Le paradigme fonctionnel : Transformation plutôt que mutation
AI019Lesson 2
00:00

Le paradigme fonctionnel fait évoluer le modèle mental du développeur, passant de "la mise à jour d'une boîte étatique" à l'application de transformations mathématiques des valeurs immuables. En Elixir, les données ne sont jamais modifiées ; elles ne renaissent qu'en nouvelles formes.

1. L'affirmation mathématique

Quand vous écrivez $x = a + 1$, vous n'assignez pas un résultat à une variable. En réalité, vous affirmez simplement affirmant que les expressions $x$ et $a + 1$ ont la même valeur. Cela reflète la logique algébrique où $x$ représente une valeur fixe dans un contexte spécifique.

2. L'immuabilité comme garantie

En Elixir, toutes les valeurs sont immuables. Les données ne peuvent pas être modifiées après leur création. Cela élimine les « effets secondaires » où une fonction pourrait modifier involontairement une variable globale ou un objet passé en paramètre, garantissant que le code est prévisible et sûr en environnement multithread.

AVANT (entrée)"elixir"String.capitalizeAPRÈS (résultat)"Elixir"Les données d'origine restent inchangées

3. Transformation versus mutation

Nous ne modifions jamais les données sur place. Elixir n'a pas d'assignation ; au contraire, il essaie de correspondre des valeurs à des motifs. Pour « changer » une valeur, nous passons les données originales à travers une fonction afin de produire une nouvelle version complète.

iex> name = "elixir"
"elixir"
iex> cap_name = String.capitalize name
"Elixir"
iex> name
"elixir" (Toujours intact !)
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>